package houtai.controller;

import cn.hutool.core.util.ObjectUtil;
import houtai.service.LogService;
import houtai.vo.LogVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("manage")
public class LogController {
    @Autowired
    private LogService logService;

    @GetMapping("logs")
    public ResponseEntity<LogVo> queryLogs(@RequestParam(value = "page", defaultValue = "1") Integer page,
                                                @RequestParam(value = "pagesize", defaultValue = "10") Integer pagesize,
                                                @RequestParam("sortProp") String sortProp,
                                                @RequestParam("sortOrder") String sortOrder,
                                                @RequestParam("type") String type,
                                                @RequestParam("uid") Long uid) {
        try {
            LogVo logVo = logService.queryLogs(page, pagesize, sortProp, sortOrder, type, uid);
            if (ObjectUtil.isNotEmpty(logVo)) {
                return ResponseEntity.ok(logVo);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
    }
}
